package com.example.pdfpress;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.exporting.PdfImageInfo;
/**
 * @program my-project-model
 * @description:
 * @author: lee
 * @create: 2023/02/11 21:45
 */
public class PdfConpress {
    public static void main(String[] args) {

        //创建 PdfDocument 类的对象
        PdfDocument doc = new PdfDocument();

        //加载 PDF 文档
        doc.loadFromFile("/usr/local/software/work/idea/my-project-model/pdfpress/src/main/resources/思想政治情况表.pdf");

        //将IncrementalUpdate设置为false
        doc.getFileInfo().setIncrementalUpdate(false);

        //声明一个 PdfPageBase 变量
        PdfPageBase page;

        //循环遍历页面
        for (int i = 0; i < doc.getPages().getCount(); i++) {

            //获取指定页面
            page = doc.getPages().get(i);
            if (page != null) {

                if (page.getImagesInfo() != null) {

                    //循环遍历页面中的图像
                    for (PdfImageInfo info : page.getImagesInfo()) {

                        //使用tryCompressImage方法压缩高分辨率图像
                        page.tryCompressImage(info.getIndex());
                    }
                }
            }
        }

        //保存文件
        doc.saveToFile("思想政治情况表1.pdf");
//        doc.saveToFile("/usr/local/software/work/idea/my-project-model/pdfpress/src/main/resources/思想政治情况表1.pdf");
    }

}
